import { ProLayoutProps } from '@ant-design/pro-components';

/**
 * @file 全局默认配置项
 * @description 用于配置系统的布局、主题、色彩等全局样式和行为
 * @see https://procomponents.ant.design/components/layout
 */

/**
 * 系统全局配置接口定义
 * 继承自ProLayoutProps并扩展自定义属性
 */
type GlobalSettings = ProLayoutProps & {
  /** 是否开启 PWA (Progressive Web App) 特性 */
  pwa?: boolean;
  /** 系统logo地址 */
  logo?: string;
};

/**
 * 系统全局默认配置
 * @type {GlobalSettings}
 */
const Settings: GlobalSettings = {
  // ====================== 主题与色彩配置 ======================
  /**
   * 导航栏主题色
   * @type {'realDark' | 'light'}
   * @default 'light'
   */
  navTheme: 'light',

  /**
   * 系统主题色
   * @default #393C6D - 深蓝灰色
   */
  colorPrimary: '#393C6D',

  /**
   * 是否启用色弱模式
   * @default true
   */
  colorWeak: true,

  // ====================== 布局与结构配置 ======================
  /**
   * 整体布局方式
   * @type {'side' | 'top' | 'mix'}
   * @default 'mix' - 混合布局
   */
  layout: 'mix',

  /**
   * 内容区域宽度
   * @type {'Fluid' | 'Fixed'}
   * @default 'Fluid' - 流式布局
   */
  contentWidth: 'Fluid',

  /**
   * 是否固定头部
   * @default true
   */
  fixedHeader: true,

  /**
   * 是否固定侧边栏
   * @default true
   */
  fixSiderbar: true,

  // ====================== 系统基础信息配置 ======================
  /**
   * 系统名称
   * @default '律师案件管理系统'
   */
  title: '律师案件管理系统',

  /**
   * 是否启用PWA特性
   * @default true
   */
  pwa: true,

  /**
   * 系统logo地址
   * @default '/logo.png'
   */
  logo: '/logo.png',

  // ====================== 主题样式Token配置 ======================
  /**
   * 自定义主题token配置
   * @see https://procomponents.ant.design/components/layout#通过-token-修改样式
   */
  token: {
    header: {
      colorBgHeader: '#040848', // header 的背景颜色
      colorHeaderTitle: '#fff', // header 的标题颜色
    },
    sider: {
      colorMenuBackground: '#040848', // menu 的背景颜色
      colorBgMenuItemSelected: '#302B57', // menuItem 的选中背景颜色
      colorBgMenuItemHover: '#302B57', // menuItem 的 hover 背景颜色
      colorTextMenu: '#fff', // menuItem 的字体颜色
      colorTextMenuSelected: '#3497ff', // menuItem 的选中字体颜色
      colorTextMenuItemHover: '#fff', // menuItem 的 hover 字体颜色
      colorTextMenuActive: '#fff', // menuItem hover 的选中字体颜色
    },
  },
  /**
   * 内容区域样式
   */
  contentStyle: {
    minHeight: '80vh',
  },
};

export default Settings;
